package com.zsummer.design.structure.adapter;

/**
 * @author zsummer
 * 2020/3/25 22:17
 * 适配器模式
 */
public class Client {
    public static void main(String[] args) {
        Slf4j slf4j = new Log4jToSlf4j(new Log4j());
        slf4j.error("xxx");
        slf4j.info("xxx");
    }
}

interface Slf4j {
    void info(String msg);
    void error(String msg);
}

class Log4j {
    public void info(String msg) {
        System.out.println("info " + msg);
    }

    public void error(String msg) {
        System.out.println("error " + msg);
    }
}

class Log4jToSlf4j implements Slf4j{

    Log4j log4j;

    public Log4jToSlf4j(Log4j log4j) {
        this.log4j = log4j;
    }

    @Override
    public void info(String msg) {
        log4j.info(msg);
    }

    @Override
    public void error(String msg) {
        log4j.error(msg);
    }
}
